Method for iterative decoder scheduling

ABSTRACT

A method for scheduling a decoding process of coded data blocks transmitted over a link in a communication network. According to the method the coded data block is stored in a queue ( 71 ) if all decoders of a cluster ( 72 ) of iterative parallel decoders are unavailable. When any of the decoders of the cluster ( 72 ) is available the first coded block of the queue ( 71 ) is moved to that decoder. Also, according to the method it is possible to combine a stored coded block with a retransmitted coded block, which is decoded with an increased probability for successful decoding. Also, the invention relates to a communication apparatus adapted for carrying out the method according to the invention.

This patent application claims the benefit of priority from U.S.Provisional Patent Application Ser. No. 60/394,320 filed on Jul. 8,2002. This application incorporates by reference the entire disclosureof U.S. Provisional Patent Application Ser. No. 60/394,320.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to communication systems where decodersare used to decode an incoming stream of data blocks. More specifically,the method according to the invention relates to a way of scheduling thedata blocks to a number of iterative channel decoders in a cluster forminimizing the number of decoders needed for a certain bitstream. Also,the present invention relates to an electronic communication apparatuscomprising a number of decoders, which is adapted to the method of theinvention.

DESCRIPTION OF THE PRIOR ART

An electronic communication apparatus as set out above can for instancebe a mobile or cellular telephone i.e. for UMTS (“Universal MobileTelecommunication System”), a communicator, an electronic organizer, ora smartphone.

In the evolution of WCDMA (“Wide-band Code Division Multiple Access”) anew concept called High Speed Downlink Packet Access (HSDPA) has beenproposed, which features a High Speed Downlink Shared Channel (HS-DSCH).One main feature of HSDPA is the introduction of an ARQ-protocol on thephysical layer (Layer 1, L1), i.e below the Radio Link Control (RLC)protocol, may apply an ARQ-protocol for error correction.

The ARQ-protocol in HSDPA is introduced at L1 to avoid RLCretransmissions introducing considerable Round Trip Time (RTT). Inaddition to being large, the RLC-induced RTT varies in-length. Theresult is that higher-layer protocols, in particular TCP, degrades theend-to-end throughput of the transmission link as a result of the largeand varying RTT.

The new ARQ-protocol introduced on L1 is intended to correct themajority of the channel errors before they trigger RLC-retransmissions.The end-to-end throughput is then preserved since TCP experiences a lessvarying, and shorter, RTT. However, it is a prerequisite that the RTT ofHS-DSCH on L1 is as small as possible. One large contributor to the RTTis the iterative decoding process in the electronic communicationapparatus. Consequently, it is preferred that the decoding process is asfast as possible.

The HSDPA mode features downlink bitrates up to 15 Mbps conveyed byturbo-coded data packets. This implies that more than one decoder mayhave to be employed in the electronic communication apparatus fordecoding the high bitrate. However, an iterative decoder implementationis quite large and expensive. Every additional decoder adds complexityto the communication apparatus and demands a lot of chip area.

To be able to fully handle the bitrates of HSDPA, up to 10 decoders areneeded if a conventional decoding technique is used. As the iterativedecoding process of the mobile telephone can be a large contributor tothe RTT, each additional decoder may significantly increase the RTT ofthe decoding process. Also, each additional decoder will increase thecost and the power consumption of the communication apparatus.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a method forimplementing a decoder process being capable of decoding an incomingstream of coded data blocks received with a high bitrate. Morespecifically, it is an object of the method according to the inventionto minimize the number of decoders required for receiving the highbitrate of data blocks and optimizing the utilization of the decoders.

Further, it is an object of the method according to invention to reducethe complexity, power consumption, and cost of the decoderimplementation of an electronic portable communication apparatus.

Another object of the invention is to provide an portable electroniccommunication apparatus adapted for decoding an incoming stream of datablocks, which are received with a high bitrate. Also, it is an object ofthe invention to provide an apparatus having low decoder complexity, lowpower consumption, and low cost, and which utilizes the decodersefficiently.

The above objects have been achieved by a method, according to which itis possible to store an incoming data block in a queue, if all decodersof a cluster of iterative decoders are unavailable. The first decoderbeing available takes on the first data block in the queue. Further, thedata block is transmitted according to a HARQ-protocol, which providesthe possibility to store unsuccessfully decoded data blocks. Therefore,an unsuccessfully decoded data block is moved to the end of the queueand combined with a retransmitted block of data before processed in anyof the decoders of the cluster once again. The storing, combining, anddecoding process proceeds until an ACK-report can be communicated to atransmitter of the coded data block.

By scheduling the received blocks according to the method of theinvention it is possible to minimize the number of decoders required fora certain received bitrate. Specifically, according to the inventivemethod the high-speed bitrate associated with HSDPA can be received anddecoded with fewer decoders, preferably two or three, than would be thecase if the decoder-count was dimensioned for the worst case. The worstcase is when all received blocks are iterated in the decoder a maximumnumber of iterations even if a CRC (cyclic redundancy check) checksafter a few iterations. According to the invention, CRC is checked aftereach decoder iteration and further iterations are canceled as soon asthe CRC checks. In this way, the decoder utilization is enhancedcompared to if the maximum number of iterations is done. Consequently,the number of decoders that needs to be deployed for a certain bitratecan be minimized.

The above objects are also achieved by an electronic communicationapparatus capable of decoding data blocks received over a wireless linkin a communication network. The inventive apparatus comprises a queue,which is adapted for temporarily storing the data blocks, and a clusterof decoders, which is adapted to decode the data blocks when any of thedecoders of the cluster is available. Advantages of the apparatusaccording to the invention are low complexity, low cost, and low powerconsumption.

Further preferred features of the invention are defined in the dependentclaims.

It should be emphasized that the terms “comprises/comprising” when usedin this specification is taken to specify the presence of statedfeatures, integers, steps or components but does not preclude thepresence or addition of one or more other features, integers, steps,components or groups thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

A preferred embodiment of the present invention will now be described inmore detail with reference to the accompanying drawings, in which:

FIG. 1 shows a mobile telephone according to the present inventionoperatively connected to a communication network;

FIG. 2 is a schematic diagram of a structure of a stack of protocols inthe mobile telephone and the communication network, respectively;

FIG. 3 is a block diagram of a queue and a cluster of decoders arrangedaccording to the invention;

FIG. 4 illustrates three different coded data blocks;

FIG. 5 is a flowchart of the scheduling of the decoding processaccording to the present invention; and

FIG. 6 is an exemplifying timing diagram of the decoding processaccording to the invention.

DETAILED DESCRIPTION OF EMBODIMENTS

FIG. 1 is intended to illustrate a portable communication apparatusembodied as a mobile telephone 1, in which the present invention isincorporated. The mobile telephone 1 comprises an antenna 10, which in aconventional way is used for connecting the mobile telephone 1 to acommunication network 21, over a wireless link 20, through a basestation 22. In a well-known way, the communication network 21, forinstance a UMTS network, offers voice, data and fax call services to theuser of the mobile telephone 1. Also, the mobile telephone 1 may haveaccess to additional applications such as internet/intranet,videoconference, news push, networked games and video telephone throughthe communication network 21. Furthermore, the mobile telephone 1 isadapted to receive (e.g. from a transmitter of the base station 22) anddecode an incoming stream of data block having a bitrate of up to 15Mbps. According to the method of the invention, the received data blocksare put in a queue and then scheduled on a pool of decoders, as will bedescribed in the following.

Further, the mobile telephone 1 comprises a display 11, a loudspeaker12, a microphone 13 and a keypad 14, all in a well-known way forcreating an interface for using the mobile telephone 1.

Further, the mobile telephone 1 comprises a receiver and a transmitterfor exchanging data with the communication network 21 through the basestation 22.

The mobile telephone 1 and the communication network 21 support HighSpeed Downlink Packet Access (HSDPA), which features downlink bitratesup to 15 Mbps conveyed as turbo-coded packets.

FIG. 2 shows a simplified stack of protocols 31–35 for WCDMA, which arearranged in the mobile telephone 1. As is also shown in FIG. 2, thecommunication network 20 comprises in a similar fashion a stack ofprotocols 41–46 corresponding to the protocols 31–36 of the mobiletelephone 1. The protocols 31–36 and 41–46 facilitate the exchange ofdata with the high bitrate between the mobile telephone 1 and thecommunication network 21, as is well known and will not be furtherdiscussed herein.

An RLC protocol 33, 43 provides, at least in acknowledged mode,ARQ-functionality 50 between peers, that is between the RLC layers 24,44 of the mobile telephone 1 stack and the communication network 21stack respectively, as is indicated by a first two-way arrow in FIG. 2.

Further, a second ARQ-protocol 50 is provided between the physicallayers (layer 1, L1) 36, 46 of the mobile telephone 1 and thecommunication network respectively, indicated by a second two-way arrowin FIG. 2. More specifically, the physical layer of the communicationnetwork 21 is situated at the base station 22 in FIG. 1. The secondARQ-protocol 50 controls the transmission of data between the basestation 22 and the mobile telephone 1. This second ARQ-protocol providesHybrid ARQ (HARQ) functionality. The HARQ-protocol 51 allows the mobiletelephone 1 a certain processing time, and the received coded datablocks 61, 63 can therefore be stored in a queue 71 while they awaitdecoding in any of the decoders in a decoder pool 72. The data blocks61, 63 represents various types of coded data, e.g. voice, video anddata, which will be further-disclosed in the following. Also, if thedecoding fails, the HARQ-protocol 51 requires a NACK (Not ACKnowledged)report to be sent to a receiver in the base station 22. The NACKinformation is then conveyed to a HARQ-controller in the base station,which retransmits the failed blocks 62. Meanwhile. the data block 61, 63that was unsuccessfully decoded can be stored in a memory of the mobilephone 1 for subsequent combining with a retransmitted data block 62 fromthe base station 22. This will be discussed further below. By sendingACK/NACK reports between the L1 36, 46 of the mobile phone 1 and thebase station 22, respectively, channel errors can be corrected withoutinvolving the ARQ-protocol 50 of the RLC-layer 34, 44. This stabilizesthe RTT on the RLC-level.

FIG. 3 illustrates a decoder implementation according to the presentinvention. A local memory, such as a RAM memory or a flash memory, isprovided in the mobile telephone 1 for implementing a queue 71 fortemporarily storing the data blocks 61, 63 awaiting decoding, andpossibly combining with a retransmitted data block 62. The queue 71 canbe administrated and controlled by a central processing unit 75 (CPU)implemented by any commercially available microprocessor, or anothertype of programmable logic circuitry. Therefore, the CPU 75 is connectedto the queue 75.

The queue 71 is connected to a cluster 72 of decoders having a number(N_(td)) of individual decoders, which are arranged in a parallelconfiguration. By arranging the decoders in parallel, each decoder canreceive a complete coded data block 61, 63 and process it independentlyof all the other decoders of the cluster 72. In this embodiment,preferably two or three turbo-decoders are utilized. However, any numberof iterative decoders, which can be arranged in parallel, can beprovided in the cluster 72 and implemented according to the presentinvention. As a consequence of the parallel arrangement of the decodersit is possible to shut off some of the decoders when the bit rate doesnot demand service from all decoders, and thus power can be saved. Thisand the overall control of the queue 71 and the decoder cluster 72 willbe handled by the CPU 75. Consequently, the CPU 75 is also connected tothe decoder cluster 72.

Further, two feedback-loops 73, 74 provide the possibility to move thefirst data block 61, 63 of the queue 71 or a data block 61, 63 in thecluster 72 of decoders, respectively, to the queue 71 if either the HARQprotocol demands an ACK/NACK-report and the block 61, 63 has not beentried on the decoder, or if the block 61, 63, is in the process ofdecoding but it has not passed CRC (cyclic redundancy check) yet.

In the UMTS-standard the encoder architecture type used is referred toas Parallel Concatenated Convolutional Code. In the UMTS-specificationthe encoder comprises two 8-state constituent encoders and oneinterleaver. Data coded according to this standard can be decoded usingan iterative decoding technique, such as a turbo decoder implementation.The service time in an iterative decoder is random, which makes itadvantageous to cluster a set of decoders.

FIG. 4 illustrates the coded data block 61, relating to a bit streamrepresenting data such as voice, video, fax etc., which is input to atransmitter. The data block 61 will be decoded by any of the decoders ofthe cluster 72. Also, a retransmitted coded data block 62, and acombined coded data block 63, which is also to be decoded by any of thedecoders of the cluster 72, is illustrated. The lines of the blocks 61,62, 63 correspond to coded bits of said blocks. However, it should benoted that there usually are much more bits in a coded block thanindicated in FIG. 4, as the blocks of FIG. 4 merely are illustrative.The retransmitted data block 62 relates to the same information bits asthe first data block 61. The combined data block 63 comprises the bitsof the first and retransmitted data blocks 61, 62. The first data block61 comprises certain coded bits, indicated by lines in the first datablock 61 in FIG. 3. Also, the retransmitted data block 62, which relatesto the same information bits as the first data block 61, may compriseother coded bits that are indicated by lines in the second data block 62in FIG. 4.

The retransmitted data block 62 is combined with the stored first datablock 61 upon reception by, e.g., summing the loglikelihood ratios ofthe received coded bits. As is understood, there may be more than oneretransmission where each retransmitted block may necessarily notcomprise the same coded bits. The combination forms the combined datablock 63, which may contain more coded bits than data blocks 61 and 62,respectively. However, some coded bits may overlap between block 61 and62, which is indicated by lines in the third data block of FIG. 3. Whenthe combined data block 63 is formed, it replaces the first data block61 in the queue 71. Thereafter it is ready for decoding in any of thedecoders of the cluster 72. A combined data block 63 beingunsuccessfully decoded can once again be combined with a retransmitteddata block for subsequent decoding.

The combination of data blocks 61, 62, 63 has the advantage that theprobability of correct decoding increases in many cases, depending onthe radio channel conditions, with every retransmission and combination.

The data block 61, 63 currently undergoing the decoding process can bechecked after each iteration for errors by e.g. a CRC (Cyclic RedundancyCheck) sequence. According to the invention, CRC is checked after eachdecoder iteration and further iterations are canceled as soon as the CRCchecks. The probability that the data block is error-free increases fastwith the number of iterations. However, it should be noted that if thedecoding of the data blocks 61, 63 is not successfully completed afterabout 3 iterations it is unlikely that the decoding will succeed withouta retransmission. As a consequence of this, the iterative decodingprocess of the present invention can be aborted prematurely at any stageof the decoding. Instead, the processed data block 61, 63 can be storedin the queue 72 and a retransmission of the data block 61, 63 isrequested by the mobile telephone 1 by transmitting a NACK-message tothe base station 22.

If the maximum number of iterations is reached, the iterative process ofthe decoder is unconditionally aborted and the data block 61, 63presently undergoing decoding is moved to the back of the queue 72 and aretransmission of the data block 61, 63 is requested. The retransmitteddata block can then be combined with the locally stored data block 61,63, as set out above, before decoding of the combined block 63commences, which increases the probability for correct decoding.

A method for scheduling the decoders of a mobile telephone 1 accordingto the invention will now be explained in detail.

The scheduling method according to the invention combine the possibilityto retransmit data blocks 62 and the possibility to abort the iterativedecoding process of a data block 61,63 undergoing processing. Also, itis possible to shut off some of the decoders of the cluster 72 asdiscussed above. This will make use of the iterative decoder resourcesof the mobile telephone 1 as efficiently as possible. FIG. 3 shows aschematic block diagram of the queue 71 and the cluster 72 of decoders.A number of turbo decoder are utilized in this embodiment, preferablytwo or three decoders, for the 15 Mbs bitrate data stream. TheHARQ-protocol 51 on L1 46 of the transmitter of the base station 22requires the decoding to be finished within a predetermined time-period,after which said transmitter requires an ACK/NACK-report of the decodingprocess from the receiver of the mobile telephone 1.

Reference is now made to FIG. 5, illustrating in a block diagram thepossible scheduling and processing of the data blocks 61, 63 awaitingdecoding. First, the data block 61 is received at 100 by the receiver ofthe mobile telephone 1 and stored in the queue 1. Depending on thequeuing time it is decided at 102 whether a retransmission is necessary.If so, a retransmission occurs, and the retransmitted block 62 and thequeued block 61 are then combined at 102 to a combined block 63 andfurther processed at 103. If retransmission is not necessary, the codeddata block 61 is transferred directly to 103, where it is determinedwhether any decoder is available. If so, the block 61, 63 is moved toany of the decoders being available for decoding at 104. Otherwise, thedata block 61 is moved to the queue at 105.

If the block 61 is stored at 105, it is determined at 106 whether thetime limit is reached before the data block 61, 63 is moved to-any ofthe decoders. The outcome of this determination results in fourdifferent cases:

In the first case, if the time limit is reached before any decoder isavailable, the data block 61, 63 is moved to the end of the queue 72, asis also indicated by the first feedback-loop 73 of FIG. 3. Also, anNACK-report is sent at 107 to the transmitter of the base station 22,which triggers a transmission of the retransmitted data block 62.

In the second case, if the time limit is not reached, the data block 61is moved to any of the decoders of the cluster 72 for decoding at 104.Then, it is determined whether the decoding is successful within thetime limit at 108. A successful decoding will trigger an ACK-report at109 to be transmitted from the mobile telephone 1 to the transmitter ofthe base station 22.

In a third case, if it is determined at 108 that the decoding at 104 isnot finished (i.e. unsuccessful decoding) within the time limit, aNACK-report is transmitted at 107 to the transmitter of the base station22. Also, the data block 61 is moved to the end of the queue 71, whichis indicated with the second feedback loop 74 in FIG. 3.

In the fourth case, if it is determined at 108 that the data block 61 isunsuccessfully decoded, or the maximum number of iterations is reached,within the time limit, and a NACK-report is transmitted at 107 from themobile telephone 1 to the transmitter of the base station 22. Also, thedata block 61 is moved to the end of the queue 71, as is indicated withthe second feedback loop 74 in FIG. 3.

It should also be noted that it is possible to abort the decodingprocess at 104 prematurely, such as after 2–3 iterations as discussedabove, in case the CRC checks.

If a data block 61 is moved to the end of, and stored in, the queue 71,the combination with the retransmitted block 62 to a combined block 63occurs during the queuing. Then the combined block 63 is processedaccording to the steps 106, 107, 104, 108 until the decoding issuccessfully completed and the ACK report is transmitted at step 108.

In case a failed decoding is likely then it may be preferred tointerrupt the iterative process in the decoder, and instead request aretransmission. After a fast retransmission from the base station 22 theretransmitted data block 62 can be combined with the data block 61stored in the queue 71 and the combined data block 63 can be decodedinstead. In most cases the performance with a quite small number ofiterations, preferably 1–3, is satisfactory, and the scheduling methodaccording to the invention exploit this possibility by automaticallyadapting, i.e. increasing or decreasing, the maximum number ofiterations (N_(iter)) in the decoders depending on the bitrate received.Therefore, the scheduling of the decoding process according to theinvention provides the possibility to support high bit rates with alimited number of decoders.

If the decoding of the data blocks 61, 63 are unsuccessful, or the datablocks 61, 63 is not moved to any of the decoders within the time limit,the data blocks 61, 63 will be moved to the back of the queue 71 as setout above. When the transmitter of the base station 22 receives theACK/NACK-report it determines weather to retransmit a specific datablock 61, 63 (NACK) or transmit a new block (ACK). If a NACK-report isreceived a data block 62 will be prepared and transmitted to the mobiletelephone 1. When the retransmitted data block 62 is received by themobile telephone 1, the retransmitted data block 62 is combined with thestored data block 61, 63 to a combined data block as set forth above.This combined data block 63 has an improved probability of beingsuccessfully decoded, as the combined block 63 comprises more energyand/or parity bits. A data block 61, 63 can be combined several times,whereby the probability for successful decoding increases after eachcombination.

An important feature of the present invention is if many data blocks 61,63 fail to reach the cluster 72 of decoders before they are moved to theback of the queue 71. In such a case, the maximum number of allowediterations N_(iter) of the decoders could be decreased automatically,e.g. by the CPU 75. In this embodiment, the adaptation of the maximumnumber of iterations in each decoder is changed automatically by the CPU75 when the number of blocks 61, 63 being moved from directly from thebeginning of the queue 71 to the end of said queue 71 reaches predefinedindices. However, as is realized by the man skilled in the art theadaptation is not necessary at all or can be implemented differently.This results in decreased probability of correctly decoded data blocks61, 63, but it also decreases the decoding time, i.e. more data blocks61, 63 can be tried on the cluster 72 of decoders per time unit. Theoptimum number of iterations N_(iter) ^(opt) in each decoder of thecluster 72, and the indices, is a design parameter, which can be setdifferently depending on the current link 20 quality as well as on themobile telecommunication network 21 operator's preferences.

The maximum number of iterations of a certain decoder of the cluster ofdecoders 72 may also be automatically adapted in dependence on the typeof coded data block that is received by said decoder for decoding. Ifthe received data block is to be decoded for the first time, i.e. it isnot a combined data block, the maximum number may be set to a firstnumber of iterations, such as eight. However, if the received data blockis a combined data block 63, the maximum number of iterations may be setto a second number of iterations, such as 1–4. A combined data block hasincreased probability of successful decoding. Thus, if the combined datablock is not successfully decoded after the second number of iterations,it will probably not be decoded successfully. The first and secondmaximum number of iterations has the advantage that the throughput ofthe cluster of decoders will increase.

FIG. 6 shows a simulation of a decoding operation when a N-staggerd Stopand Wait protocol with N=6 different lines is used for simulating theHARQ-protocol 51 on L1 36, 46. The scheduling scheme for the decodingprocess according to the invention is utilized with one decoder. Theoffered bitrate is 2.88 Mbps and the code rate is R=0.5 in an AWGN(“Additive White Gaussian Noise”) channel. For simplicity, only onedecoder is used. However, as discussed previously in this document itmay be necessary to provide more than 1 decoder to support a bitrate ofup to 15 Mbps.

In FIG. 6 the decoding time, which includes a number of iterations, isoutlined by a line starting with a circle. The time limit when it isnecessary to send the ACK/NACK-report to the transmitter is marked by arhomb. A successful decoding is marked by a circle after the line, whilean unsuccessful decoding is marked by a square.

When the receiver of the mobile phone 1 receives the data blocks 61,they are stored in the queue 71 if no decoder is available. As can beseen in FIG. 6, the first arriving data block 61 can be directly movedto the decoders without intermediate storing in the queue 71. Thestoring is symbolized by a gap between the starting circle and thecompleted reception of the data block 61, 63. However, at the time datablocks number 2–6 are received, the decoder is not available andconsequently the data blocks 61 have to be stored in the queue 71. Thedata blocks 61 are then fed to the decoder according to an“oldest-first” rule.

The decoding of the first data block 61 is finished within the timelimit but is unsuccessful. Consequently, a NACK-report is transmitted tothe transmitter of the base station 22, and the data block 61 is movedto the end of the queue 71. Said transmitter receives the NACK-reportand prepares and retransmits the first data block as a retransmitteddata block 62. This corresponds to the fourth case of FIG. 5.

The decoding of the third data block 62 is not finished within the timelimit, and a NACK-report is sent to the transmitter. This corresponds tothe third case of FIG. 5.

The first case of FIG. 5, i.e. the data block 61 is not moved to thedecoder within the time limit, occurs the first time the sixth datablock of FIG. 6 is to be decoded. As FIG. 6 discloses the operation ofthe decoder, the sixth data block 61 is not present in FIG. 6 during thefirst round of its intended decoding. However, a NACK-report istransmitted to the transmitter of the base station 22, which triggers aretransmission. Therefore, the first time the sixth data block appearsit is a combined data block 63.

Finally, the second case of FIG. 5, i.e. the decoding is successfulwithin the time limit, occurs when the second data block has beencombined with a retransmitted data block 62, and the combined data block63 is decoded for the first time. Consequently, an ACK-report istransmitted to the transmitter of the base station 22, which then cantransmit a seventh data block 61 over line two.

In the embodiment for the simulation result of FIG. 6, the “oldestfirst” rule is used, i.e. priority is given to the data block 61, 63 inthe queue having the longest waiting time. This result in that the sixthdata block in FIG. 6 is skipped in the first round, as discussed above.However, in another embodiment it is equally well possible to move thedata blocks 61, 63 from the queue to the decoders according to any otherprinciple, e.g. Last in First Out (LIFO), as long as the data block 61,63 has been combined with a retransmitted data block 62.

From FIG. 6 it is evident that the scheduling method according to theinvention optimizes the usage of the decoders, i.e a decoder is neveridle as long as there are more data blocks 61, 63 in the queue 71waiting for decoding. However, if some decoders become idle, or when thenumber of blocks 61, 63 in the queue 71 is low, it is possible toautomatically shut off any of the decoders in order to save power.Consequently, if the number of blocks in the queue 71 becomes too large,a non-active decoder can be activated automatically. In this embodiment,a controller, such as CPU 75, automatically handles the activation ofthe decoders. For example, any of the decoders can beactivated/deactivated when the received bitrate reaches a certainpredefined level. The level is a design parameter, which is based one.g. in operator preferences in each particular case. However, as isrealized by the man skilled in the art this activation/deactivation isnot necessary or can be implemented differently. In the embodiment shownN_(iter)=15 was chosen as an example, and as a result some data blockswill expire and be transmitted to the back of the queue 71 before theyreach the decoder. However, any other reasonable number of iterations inthe decoders is equally well possible within the scope of the invention.

As is understood, the overall operation of the mobile telephone and theexchanging of data blocks 61, 62 are well known in the art and thereforewill not be further discussed in this document. The operation of thequeue 71 and the cluster of the decoders, such as queue handling andadaptation of the number active decoders and their respective maximumnumber of iterations in the decoders can be provided by the same CPU 75,which can be any commercially available microprocessor or programmablelogic circuitry.

The invention has been described above with reference to someembodiments. However, other embodiments than the ones referred to aboveare equally well possible within the scope of the invention, which isbest defined by the appended independent claims.

1. A method for scheduling a decoding process of coded data blockstransmitted over a wireless link in a communication network, the methodcomprising: storing a coded, data block in a queue if all decoders of acluster of iterative decoders are unavailable; decoding the coded datablock in a decoder of said cluster; returning any of the coded datablock being unsuccessfully decoded to said queue; combining saidunsuccessfully decoded data block with a corresponding retransmittedcoded data block; wherein a transmission between a physical layer of astack of protocols in a communication apparatus and a physical layer ofa stack of protocols in the communication network is controlled by aprotocol requiring an ACK/NACK-report of the transmission within apredetermined time limit; and wherein the NACK-report is transmitted toa transmitter of the data block if the time limit is reached before thestored data block is moved to any of the decoders of the cluster.
 2. Themethod according to claim 1, wherein the iterative decoders of thecluster are arranged in parallel.
 3. The method according to claim 1,wherein the ACK report is transmitted to the transmitter of the datablock if said block is successfully decoded in any of the decoders ofthe cluster within the time limit.
 4. The method according to claim 3,wherein the NACK report is transmitted to the transmitter of the datablock if said block is unsuccessfully decoded in any of the decoders ofthe cluster within the time limit.
 5. The method according to claim 4,wherein the NACK report is transmitted to the transmitter of the datablock if the decoding of said block in any of the decoders of thecluster is not finished within the time limit.
 6. The method accordingto claim 5 wherein the data block is moved into the end of the queue. 7.The method according to claim 6, wherein the data block beingunsuccessfully decoded is combined with a retransmitted data block to acombined data block and stored in the queue.
 8. The method according toclaim 7, wherein the combined data block is processed.
 9. The methodaccording to claim 8, wherein the data blocks are moved from the queueto any of the decoders of the cluster according to a First In First Out(FIFO) principle.
 10. The method according to claim 8, wherein the datablocks are moved from the queue to any of the decoders of the clusteraccording to an “oldest data block first” principle.
 11. The methodaccording to claim 10, wherein a maximum number of iterations in acertain decoder of said cluster is adapted automatically by a CPU. 12.The method according to claim 11, wherein the maximum number ofiterations is adapted in dependence on the number of blocks being moveddirectly from a beginning to the end of the queue.
 13. The methodaccording to claim 12, wherein the maximum number of iterations isadapted in dependence on whether the a coded data block to be decodedfor a first time or a combined data block is received by said decoder.14. The method according to claim 13, wherein the decoders are activatedautomatically by the CPU when a bitrate of a received stream of datablocks reaches certain predefined levels.
 15. The method according toclaim 14, wherein the decoding process of any of the decoders of thecluster is terminated before a maximum number of iterations is reached.16. The method according to claim 15, wherein the coded data blocks arereceived according to a HARQ (Hybrid ARQ) protocol.
 17. An electroniccommunication apparatus capable of decoding coded data blocks receivedover a wireless link in a communication network, the apparatuscomprising; a queue, which is adapted for temporarily storing the codeddata blocks a cluster of decoders, which is adapted to decode the codeddata blocks when any of the decoders of the cluster is available and toreturn to said queue any coded data block being unsuccessfully decodedby any of said decoders; a controller, which is adapted to combine thecoded data block being unsuccessfully decoded with a correspondingretransmitted coded data block; wherein said apparatus is adapted toreceive the data blocks according to a protocol requiring aACK/NACK-report within a predetermined time limit; and wherein saidapparatus is adapted for transmitting the NACK-report to a transmitterof the data block if said block is not moved to any of the decoders ofthe cluster within the time limit.
 18. The electronic communicationapparatus according to claim 17, wherein the decoders of the cluster arearranged in parallel.
 19. The electronic communication apparatusaccording to claim 18, wherein said apparatus comprises a receiver,which is adapted for receiving the data blocks with a bitrate of up toat least 15 Mbps.
 20. The electronic communication apparatus accordingto claim 18, wherein said apparatus comprises a receiver, which isarranged to receive the coded data blocks according to a HARQ protocol.21. The electronic communication apparatus according to claim 17,wherein said apparatus is adapted for transmitting the ACK-report to thetransmitter of the data block if said block is unsuccessfully decoded inany of the decoders of the cluster within the time limit.
 22. Theelectronic communication apparatus according to claim 21, wherein saidapparatus is adapted for transmitting the a NACK-report to thetransmitter of the data block if said block is unsuccessfully decoded inany of the decoders of the cluster within the time limit.
 23. Theelectronic communication apparatus according to claim 22, wherein saidapparatus is adapted for transmitting the NACK-report to the transmitterof the data block if the decoding of said block in any of the decodersof the cluster can not be finished within the time limit.
 24. Theelectronic communication apparatus according to claim 23, wherein saidapparatus further comprises: feedback loops between a beginning of thequeue and an end of the queue, and between the cluster of decoders andthe end of the queue; and wherein said apparatus is adapted for movingthe data block to the end of the queue when the decoding is notinitiated or successfully completed.
 25. The electronic communicationapparatus according to claim 24, wherein said apparatus is adapted forreceiving a retransmitted data block, combining the retransmitted datablock with a stored data block to a combined data block, and storing thecombined data block.
 26. The electronic communication apparatusaccording to claim 25, wherein said apparatus is adapted to process thecombined data block.
 27. The electronic communication apparatusaccording to claim 26, wherein the queue is provided as a rewritablememory.
 28. The electronic communication apparatus according to claim27, wherein a controller of the apparatus is arranged to automaticallyadapt the number of active decoders when the bitrates of the receivedstream of data blocks reaches certain predefined levels.
 29. Theelectronic communication apparatus according to claim 28, wherein thecontroller is arranged to adapt the maximum number of iterations of acertain decoder in dependence on the number of blocks being moveddirectly from the beginning to the end of the queue.
 30. The electroniccommunication apparatus according to claim 29, wherein the controller isarranged to adapt the maximum number of iterations of a certain decoderin dependence on whether a coded data block to be decoded for the firsttime or the combined data block is received by said decoder.
 31. Theelectronic communication apparatus according to claim 30, wherein theapparatus is further adapted to move the data blocks from the queue toany of the decoders of the cluster according to a First In First Out(FIFO) principle.
 32. The electronic communication apparatus accordingto claim 31, wherein the apparatus is further adapted to move the datablocks from the queue to any of the decoders of the cluster according toan “oldest data block first” principle.
 33. The electronic communicationapparatus according to claim 32, wherein the controller is arranged toterminate the decoding process of any of the decoders of the clusterbefore a maximum number of iterations are reached.
 34. The electroniccommunication apparatus according to claim 33, wherein said apparatus isone selected from the group consisting of a mobile telephone, acommunicator, an electronic organizer, or a smartphone.